/**
 * 
 * 
 * 公共方法
 * 
 */

// 对搜索结果关键字染色
export function highlightSearchResult(text, keyword) {
    // 创建一个正则表达式对象，用于匹配关键字
    const regex = new RegExp(`(${keyword})`, 'gi')
    // 使用正则表达式将文本分割成一组字符串和<mark>标签的数组
    return text.split(regex).map((match, index) => (
        // 如果是匹配关键字的部分，则使用<mark>标签包裹起来，并添加key属性
        match.toLowerCase() === keyword.toLowerCase() ?
            <span key={index} style={{ color: '#db6e6e' }}>{match}</span> :
            // 如果不是匹配关键字的部分，则直接返回原始字符串
            match
    ))
}

// 时间格式转换函数
export function formatTime(milliseconds) {
    const seconds = Math.floor(milliseconds / 1000);
    const minutes = Math.floor(seconds / 60);
    const remainingSeconds = seconds % 60;
    const formattedMinutes = String(minutes).padStart(2, '0');
    const formattedSeconds = String(remainingSeconds).padStart(2, '0');
    return `${formattedMinutes}:${formattedSeconds}`;
}

// 数字转换以“万”为单位
export function formatNumber(num) {
    // 如果数字小于1万，直接返回原数字
    if (num < 10000) {
        return num.toFixed(0);
    }
    // 如果数字大于等于1万，将数字除以1万并保留1位小数，然后添加“万”单位
    else {
        return (num / 10000).toFixed(1) + '万';
    }
}